package com.mumu.muPictureBackend.annotation;

import com.mumu.muPictureBackend.model.enums.UserRoleEnum;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.METHOD)//这两个是固定写法 这个表示智能用于在方法上
@Retention(RetentionPolicy.RUNTIME)//这个表示这个注解的信息会在运行时保留
public @interface AuthCheck {
    /**
     * 必须具有某个角色 默认是空  比如打上该注解的时候就是:@AuthCheck(mustRole="ADMIN")
     * 哪些用该注解?:只有用户登录后访问的请求就需要用该注解来指定权限了 看是USER还是ADMIN
     * 这里mustRole注解的作用就是指定当前方法的角色
     * 这里的最低权限是USER(比如登录)
     */
    UserRoleEnum mustRole() default UserRoleEnum.USER;
}
